﻿using System;

namespace HappyStudent.CfgLoad
{
    public class Types
    {
        public IntPtr Bool = typeof(bool).TypeHandle.Value;
        public IntPtr Byte = typeof(byte).TypeHandle.Value;
        public IntPtr SByte = typeof(sbyte).TypeHandle.Value;
        public IntPtr Char = typeof(char).TypeHandle.Value;
        public IntPtr Decimal = typeof(decimal).TypeHandle.Value;
        public IntPtr Double = typeof(double).TypeHandle.Value;
        public IntPtr Float = typeof(float).TypeHandle.Value;
        public IntPtr Int = typeof(int).TypeHandle.Value;
        public IntPtr UInt = typeof(uint).TypeHandle.Value;
        public IntPtr Long = typeof(long).TypeHandle.Value;
        public IntPtr ULong = typeof(ulong).TypeHandle.Value;
        public IntPtr Short = typeof(short).TypeHandle.Value;
        public IntPtr UShort = typeof(ushort).TypeHandle.Value;
        public IntPtr String = typeof(string).TypeHandle.Value;
        public IntPtr Guid = typeof(Guid).TypeHandle.Value;
        public IntPtr DateTime = typeof(DateTime).TypeHandle.Value;
        public IntPtr TimeSpan = typeof(TimeSpan).TypeHandle.Value;
        public IntPtr ArrayBool = typeof(bool[]).TypeHandle.Value;
        public IntPtr ArrayChar = typeof(char[]).TypeHandle.Value;
        public IntPtr ArrayByte = typeof(byte[]).TypeHandle.Value;
        public IntPtr ArrayShort = typeof(short[]).TypeHandle.Value;
        public IntPtr ArrayInt = typeof(int[]).TypeHandle.Value;
        public IntPtr Arraylong = typeof(long[]).TypeHandle.Value;
        public IntPtr ArrayFloat = typeof(float[]).TypeHandle.Value;
        public IntPtr ArrayDoble = typeof(double[]).TypeHandle.Value;

        public override string ToString() =>
        $"{Bool} {Byte} {SByte} {Char} {Decimal}{Double}{Float}{Int} {UInt} {ULong} {Short} {UShort} {String} {Guid}";
            
        
    }
}
